Här är några exempel .

Fylla dropdown med resultat från filtrering

Exemplet fyller en dropdown med resultatet från en filtrering. getXMLDOM används för att göra http-anropet och returnera Xml:en i ett dom-objekt, funktionen finns tillgänglig på alla sidor i Content Studio genom att den finns definerad i filen /~js/global.js. Url:en till Web API:et sparas i variabeln url (admin-url hämtas med hjälp av getAdminUrl), i params sparas xml som definerar hur filterfrågan ska se ut, denna xml postas in till Web API:et. 

Filterfrågan ställs mot kategorin med id 197. Fält som ska användas i filtreringen defineras av f1, i det här fallet CS_Document_Title som är titeln på dokumentet. r1 talar om att f1 (titeln) ska returneras i resultatet. Sist kommer själva filterfrågan. Därefter görs anropet och som svar kommer ett XmlDom-objekt laddat med xml:en från svaret (se XmlIndexQuery för detaljer om xml:en).

SelectSingleNode används för att plocka ut rows-noden, som innehåller en row för varje träff. En referens till dropdownen sparas i dropdown, sedan loopas alla rows igenom och läggs till som altrenativ i dropdownen.

Javascript
<script type="text/javascript">
    
function fillDropDown()
{
	var url = getAdminURL("WebApi/ContentStudio_Document_EPT_XmlIndexQuery.ashx?ConnectionID=3&action=query&PageNumber=1&PageSize=100");
	var params = "<root><parameters>" + 
		"<parameter name=\"categoryID\">197</parameter>" + 
		"<parameter name=\"f1\">CS_Document_Title</parameter>" + 
		"<parameter name=\"r1\">1</parameter>" + 
		"<parameter name=\"filter\">[CS_Document_Title] LIKE '%a%'</parameter>" + 
		"</parameters></root>";

	var xmldom = getXMLDOM(url, "POST", params);
	if (!xmldom)
		return;
		
	var rows = xmldom.selectSingleNode("root/rows");
	if (!rows)
		return;
		
	var dropdown = document.getElementById("ddnList");
	
	for (i=0; i<rows.childNodes.length; i++)
	{
		var optn = document.createElement("OPTION");
		optn.text = rows.childNodes[i].getAttribute("CS_Document_Title");
		optn.value = rows.childNodes[i].getAttribute("documentid");
		dropdown.options.add(optn);
	}
}
    	
</script>
<select id="ddnList" name="ddnList"></select>
        

Fetching a EPT field value from a document

Funktionen i exemplet hämtar ut värdet på ett EPT fält i ett dokument. Den tar två argument: documentid, id på dokument och fieldname - EPT fält namn. Funktionen returnerar värdet eller null om något gick snett.

Web API som används är DocumentReader och action getdetails. Den tar endast ett argument, id på dokumentet. Som svar kommer ett xmldokument innehållande information om dokument med angivet id. I root/document/content ligger innehållet i dokumentet - som eftersom att det är ett xml-dokument även det är xml. Xml:en laddas in och begärt fält hämtas ut och returneras.

JavaScript
function getEPTField(documentid, fieldname) 
{ 
	var url = getAdminURL('WebAPI/ContentStudio_Document_DocumentReader.ashx?action=getdetails&id=' + documentid);
	var dom = getXMLDOM(url, "GET", null); 

	if (dom.selectSingleNode("//result[.='0']")==null) 
		return null; 

	try { 
		dom.loadXML(dom.selectSingleNode("/root/document/content").text); 
		var field = dom.selectSingleNode("/CSEPT/CSRecord/"+fieldname); 
		if (field == null) 
			return null; 
		return field.text; 
	} 
	catch(e) { 
		return null; 
	} 
}